
import useConfigStore from '@/store/config'
import useQueueStore from '@/store/queue'
import useCartStore from '@/store/cart'
import ls from '@/lib/ls'
import dayjs from "dayjs"
import { showToast } from 'vant'
import router from '@/router'
import Api from '@/api'
import eventBus from '@/utils/eventBus';

let websocket = null; // 用于存储实例化后websocket
let rec; // 断线重连后，延迟5秒重新创建WebSocket连接  rec用来存储延迟请求的代码
let setIntervalName = null // 定时器
// 创建websocket
function creatWebSocket(wsUrl) {
  console.log("websocket==================");
  // 判断当前浏览器是否支持WebSocket
  if ("WebSocket" in window) {
    console.log("当前浏览器支持 WebSocket");
  } else if ("MozWebSocket" in window) {
    console.log("当前浏览器支持 MozWebSocket");
  } else {
    console.log("当前浏览器不支持 WebSocket");
  }
  try {
    initWebSocket(wsUrl); // 初始化websocket连接
  } catch (e) {
    console.log("尝试创建连接失败");
    reConnect(wsUrl); // 如果无法连接上 webSocket 那么重新连接！可能会因为服务器重新部署，或者短暂断网等导致无法创建连接
  }
}
// 初始化websocket
function initWebSocket(wsUrl) {
  websocket = new WebSocket(wsUrl);
  const configStore = useConfigStore()
  const userInfo = ls.get('USER_INFO')
  console.log(userInfo);
  let shopInfo = {
    msgType: "login",
    msgPlatform: 2,//1：电脑 2：服务员点单 3：小程序 4：微信公众号 5：微信企业号
    msgContent: {
      // code: ls.get('WEB_CODE'),
      orgCode: userInfo.orgCode,
      orgName: userInfo.orgName,
      userCode: userInfo.userCode,
      userName: userInfo.userName
    }
  }
  // console.log("websocket:", websocket);
  websocket.onopen = function () {
    websocketOpen();
    sendWebSocket(shopInfo) // 发送登录信息
    setIntervalName = setInterval(function () {
      console.log(1111);
      // 发送心跳
      shopInfo.msgType = 'heartbeat'
      sendWebSocket(shopInfo);
    }, 10000); // 10000毫秒等于10秒
  };
   // 接收
  websocket.onmessage = function (e) {
    websocketonmessage(e);
  };
  // 连接发生错误
  websocket.onerror = function () {
    console.log("WebSocket连接发生错误");
    //     isConnect = false; // 连接断开修改标识
    reConnect(wsUrl); // 连接错误 需要重连
  };
  websocket.onclose = function (e) {
    websocketclose(e);
    clearInterval(setIntervalName)
    reConnect(wsUrl)
  };
}
// 定义重连函数
let reConnect = (wsUrl) => {
  const configStore = useConfigStore()
  console.log("尝试重新连接");
  if(websocket && websocket.readyState === WebSocket.OPEN) return;
  if (configStore.isConnected) return; // 如果已经连上就不在重连了
  rec && clearTimeout(rec);
  rec = setTimeout(function () {
    // 延迟15秒重连  避免过多次过频繁请求重连
    creatWebSocket(wsUrl);
  }, 15000);
};
// 创建连接
function websocketOpen() {
  const configStore = useConfigStore()
  console.log("连接成功");
  configStore.connect(); // 修改连接状态
}
// 数据接收
function websocketonmessage(e) {
  const configStore = useConfigStore()
  const queueStore = useQueueStore()
  const cartStore = useCartStore()
  const today = dayjs().format('YYYY-MM-DD')
  let curTableDate = configStore.curTableDate
  const data = JSON.parse(e.data);  // 解析JSON格式的数据
  console.log('websocketonmessage   data', data, configStore.curTableDate);
  console.log(configStore.curTable);
  // 心跳接收
  if(data.msgType == "heartbeat"){
    const curPage = router.currentRoute.value.fullPath
    const sesssion = data.msgContent.goodsVersion
    let goodsCodeList = []
    if(data.msgContent.goodsCodeList){
      goodsCodeList = data.msgContent.goodsCodeList.split(',')
    }
   
      if(ls.get('GOOD_SESSION')){
        if(sesssion != ls.get('GOOD_SESSION')){
            chengeGoods()
            
            console.log(111);
            ls.set('GOOD_SESSION',sesssion)
            if(curPage == "/open/order" || curPage == "/open/orderConfirm"){ // 在点单页
              alert('定价方案发生改动,请重新点单')
              cartStore.ClearCart()
            }
          
        }
      }else{
        ls.set('GOOD_SESSION',sesssion)
      }
  }
  if(data.msgType == "GoodsPrice"){
    let goodsCodeList = []
    if(data.msgContent){
      goodsCodeList = data.msgContent
    }
    if(cartStore.cartList){ // 购物车有被沽清的商品
     if(hasCodeInTargetArray(cartStore.cartList,goodsCodeList)){
         showToast('有商品价格发生变动,请重新点单')
         cartStore.ClearCart()
     }
    }
      const msgContent = data.msgContent
      msgContent.forEach(item=>{
        if(item.delete){ // 沽清
          console.log('沽清');
            configStore.productList.forEach(obj => {
              obj.children.forEach(vi=>{
                if(vi.goodsCode === item.goodsCode){
                    vi.isEstmClear = '1'
                    vi.priceList[0].isEstmClear = '1'
                }
              })
            });
            configStore.goodsList.forEach(obj=>{
              if(obj.goodsCode === item.goodsCode){
                  obj.isEstmClear = '1'
                  obj.priceList[0].isEstmClear = '1'
              }
            })
            console.log(configStore.productList,configStore.goodsList);
            
        }else{ // 价格变动或反沽清
          console.log('价格变动或反沽清');
          configStore.productList.forEach(obj => {
            obj.children.forEach((vi,index)=>{
              if(vi.goodsCode === item.goodsCode){
                
                obj.children[index] = item;
                  
              }
            })
          });
          configStore.goodsList.forEach((obj,index)=>{
            if(obj.goodsCode === item.goodsCode){
              configStore.goodsList[index] = item;
            }
          })
        
          
        }
         
      })

      configStore.isGoodChange.id++ // 通知页面重新渲染
     
                    
  }
  if (data.msgReceivePage == 'Room') {
    const { msgContent } = data
    // console.log(msgContent);
    setTypeList(msgContent.roomStateSummary)
    // console.log('Room :>> ', configStore.curTable);
    // 清台 变成空闲中
    if (data.subMsgType == 'ClearRoom') {
      if (curTableDate == today) {
        configStore.curTable.forEach((item,index) => {
          if (item.roomCode == msgContent.roomCode) {
            console.log('找到桌子 :>> ', item, msgContent);
            // configStore.curTable.splice(index, 1);
            // Object.assign(item, msgContent)
            changeSource(item,msgContent,data.subMsgType)
          }
        });
      }

    }
    // 开台 变成使用中
    else if (data.subMsgType == 'OpenRoom') {
      if (curTableDate == today) {
        configStore.curTable.forEach(item => {
          if (item.roomCode == msgContent.roomCode) {
            console.log('找到桌子 :>> ', item, msgContent);
            changeSource(item,msgContent,data.subMsgType)
            // Object.assign(item, msgContent)
            // item.ConsumeStateName = '使用中'
            // console.log(item);
          }
        });
      }
    }
    // 转台
    else if (data.subMsgType == 'TurnRoom') {
      if (curTableDate == today) {
        configStore.curTable.forEach(item => {
          // 旧桌
          if (item.roomCode == msgContent.oldRoom.roomCode) {
            console.log('找到旧桌子 :>> ', item, msgContent);
            // Object.assign(item, msgContent.oldRoom)
            TurnRoom(item,msgContent.oldRoom,'old')
          }
          // 新桌
          if (item.roomCode == msgContent.newRoom.roomCode) {
            console.log('找到新桌子 :>> ', item, msgContent);
            // Object.assign(item, msgContent.newRoom)
            TurnRoom(item,msgContent.newRoom,'new')
          }
        });
      }
    }
    // 复台
    else if (data.subMsgType == 'ResetRoom') {
      if (curTableDate == today) {
        configStore.curTable.forEach(item => {
          if (item.roomCode == msgContent.roomCode) {
            console.log('找到旧桌子 :>> ', item, msgContent);
            // Object.assign(item, msgContent)
            changeSource(item,msgContent,data.subMsgType)
          }
        });
      }
    }
    // 预订
    else if (data.subMsgType == 'ReserveRoom') {
      const reserveTime = dayjs(msgContent.reserveInfo.reserveTime).format('YYYY-MM-DD')
      if (curTableDate == reserveTime) {
        configStore.curTable.forEach(item => {
          if (item.roomCode == msgContent.roomInfo.roomCode) {
            console.log('找到旧桌子 :>> ', item, msgContent);
            // let obj = { ...msgContent.roomInfo, ...msgContent.reserveInfo }
            // Object.assign(item, obj)
            changeSource(item,msgContent,data.subMsgType)
          }
        });
      }
    }
    // 取消预订
    else if (data.subMsgType == 'CancelReserveRoom') {
      const reserveTime = dayjs(msgContent.reserveInfo.reserveTime).format('YYYY-MM-DD')
      if (curTableDate == reserveTime) {
        configStore.curTable.forEach(item => {
          if (item.roomCode == msgContent.roomInfo.roomCode) {
            console.log('找到旧桌子 :>> ', item, msgContent);
            // let obj = { ...msgContent.roomInfo, ...msgContent.reserveInfo }
            // Object.assign(item, obj)
            changeSource(item,msgContent,data.subMsgType)
          }
        });
      }
    }
    // 维修
    else if (data.subMsgType == 'RepairRoom') {
      if (curTableDate == today) {
        configStore.curTable.forEach(item => {
          if (item.roomCode == msgContent.roomCode) {
            console.log('找到桌子 :>> ', item, msgContent);
            // 变成维修中
            if (msgContent.repairState == '0') {
              item.roomStateDesc = '维修中'
              item.state = 0
            }
            // 变成正常
            else if (msgContent.repairState == '1') {
              item.roomStateDesc = '空闲中'
              item.state = 1
            }
          }
        });
      }
    }
    // 锁台
    else if (data.subMsgType == 'LockRoom') {
      if (curTableDate == today) {
        configStore.curTable.forEach(item => {
          if (item.roomCode == msgContent.roomCode) {
            console.log('找到桌子 :>> ', item, msgContent);
            // 变成锁台
            if (msgContent.lockState == '1') {
              item.isLock = true
            }
            // 变成正常
            else if (msgContent.lockState == '0') {
              item.isLock = false
            }
          }
        });
      }
    }
  
  

  }
    // 订单相关
    if (data.msgReceivePage == 'Order') {
      const { msgContent } = data
      if (msgContent.roomStateSummary) {
        setTypeList(msgContent.roomStateSummary)
      }
      // console.log('Room :>> ', configStore.curTable);
      // 清台 变成空闲中
      if (data.subMsgType == 'OrderAdd') {
        if (curTableDate == today) {
          configStore.curTable.forEach(item => {
            if (item.roomCode == msgContent.roomCode) {
              console.log('找到桌子 :>> ', item, msgContent);
              changeSource(item,msgContent,data.subMsgType)
            }
          });
        }
  
      }else if(data.subMsgType == 'CheckOut'){
        // const roomInfo = ls.get('TABLE_INFO')
        // const userInfo = ls.get('USER_INFO')
        
        // if(roomInfo.roomCode == msgContent.roomCode){
        //   if(userInfo.userCode == msgContent.userCode  ){
        //     return
        //   }
        //   alert('其它终端已完成支付')
        //   window.location.replace('/open')
        // }
        if (curTableDate == today) {
          configStore.curTable.forEach(item => {
            if (item.roomCode == msgContent.roomCode) {
              console.log('找到桌子 :>> ', item, msgContent);
              item.consumeState = '2'
              item.ConsumeStateName = '使用'
              item.payBatchCode = ''
              item.orderBatchCode = ''
              // item.currentConsume = 
            }
          });
        }
      }else if(data.subMsgType == 'ForceUnLock'){
        cartStore.wsPayState.consumeCode = data.msgContent
        cartStore.wsPayState.id ++
        
      }
      // else if(data.subMsgType == 'OrderPay'){
      //   cartStore.wsPayState.consumeCode = data.msgContent.consumeCode
      //   cartStore.wsPayState.id ++
        
      // }
    }else if (data.msgReceivePage == "User") {
      const msg = JSON.parse(e.data).msgContent
      const type = JSON.parse(e.data).subMsgType
     
      switch (msg.memberMsgType) {
        case '001': // 客户呼叫
          msg.content = msg.roomName + '客户呼叫'
          break;
      
        case '002': // 存酒确认
          msg.content = msg.roomName + '客户有存酒信息需处理，点击去处理'
          break;
      }
      let arr = ls.get('MSG_LIST')
      const id = msg.messageId
      if(!arr){
        arr = []
      }
      let foundIndex1 = -1
      if(type == 'CallWaiter'){
        // 添加推送
        arr.push(msg)
        ls.set('MSG_LIST',arr) 
        eventBus.$emit('myEventMsg',ls.get('MSG_LIST').length || 0);  
                  
      }else{
        // 处理推送
        foundIndex1 = arr.findIndex(obj => obj.messageId == id);
        if (foundIndex1 !== -1) {
          arr.splice(foundIndex1, 1);
          ls.set('MSG_LIST',arr) 


          eventBus.$emit('myEventMsg2222',55); 
          // ls.get('MSG_LIST').length
                    ls.set('MSG_LIST2222',arr) 
                    console.log('MSG_LIST=arr2222',arr)
                    console.log('MSG_LIST=get222',ls.get('MSG_LIST').length)
                    
        }
      }
      
     
     
      // 如果有id相同的
      if(!configStore.msgList){
        configStore.msgList = []
      }
      if(type == 'CallWaiter'){
        // 添加推送
        configStore.msgList.push(msg)
        showToast(msg.content)
      }else{
        // 处理推送
        const foundIndex = configStore.msgList.findIndex(obj => obj.messageId == id);
        if (foundIndex !== -1) {
          configStore.msgList.splice(foundIndex, 1);
          showToast('处理请求')
        } 
      }
    
    }else if (data.msgReceivePage == "Queue") {
      const msg = JSON.parse(e.data).msgContent
      const type = JSON.parse(e.data).subMsgType
      if(type == 'AddQueue'){
        queueStore.queueList.push(msg)
      }else if (type == 'PassQueue' ||type == 'SeatQueue'){
        let index = queueStore.queueList.findIndex(item => item.mobile == msg.mobile && item.callNo == msg.callNo);
        if (index !== -1) {
          queueStore.queueList.splice(index, 1);
        }
      }

    
    }
   
    
}
// 关闭
function websocketclose(e) {
  const configStore = useConfigStore()
  console.log(e);
  configStore.disconnect(); // 修改连接状态
  console.log("connection closed (" + e.code + ")");
}
// 数据发送
function websocketsend(data) {
  const configStore = useConfigStore()
  if (websocket && configStore.isConnected) { // 检查连接状态
    console.log(JSON.stringify(data));
    websocket.send(JSON.stringify(data));
  } else {
    // showToast("请选择设备连接")
  }
}
// 实际调用的方法==============
// 发送
function sendWebSocket(data) {
  const configStore = useConfigStore()
  console.log(data);
  
  // 如果未保持连接状态 不允许直接发送消息 提示请选择连接设备
  if (!configStore.isConnected) {
    // showToast("请选择设备连接")
    // ElMessage({
    //   showClose: true,
    //   message: "请选择设备连接",
    //   type: 'error',
    // })
  } else {
    websocketsend(data);
  }
}
// 关闭
let closeWebSocket = () => {
  if (websocket) {
    websocket.close();
    // showToast("设备已关闭")
    // ElMessage({
    //   showClose: true,
    //   message: "设备已关闭",
    //   type: 'success',
    // })
  }
};
export {
  initWebSocket,
  sendWebSocket,
  creatWebSocket,
  closeWebSocket,
};

const hasCodeInTargetArray=(objectArray, targetArray)=> {
  return objectArray.some(obj => {
      return targetArray.some(target => obj.goodsCode == target.goodsCode);
  });
}

const setTypeList = (obj) => {
  // const configStore = useConfigStore()
  // configStore.typeList.forEach(item => {
  //   if (item.name == '全部') {
  //     item.num = obj.totalCount
  //   }
  //   else if (item.name == '空闲') {
  //     item.num = obj.idleCount
  //   }
  //   else if (item.name == '已预订') {
  //     item.num = obj.reserveCount
  //   }
  //   else if (item.name == '使用中') {
  //     item.num = obj.usedCount
  //   }
  //   else if (item.name == '未支付') {
  //     item.num = obj.unPayCount
  //   }
  //   else if (item.name == '维修中') {
  //     item.num = obj.repairCount
  //   }
  //   else if (item.name == '已锁定') {
  //     item.num = obj.lockCount
  //   }
  // })
}

const changeSource = (item,recSource,type)=>{
  switch (type) {
    // 清台
    case 'ClearRoom':
      item.waiterUserCode = '' // 服务员编码
      item.waiterUserName = '' // 服务员
      item.maintainUserCode = '' // 订台人编码
      item.maintainUserName = '' // 订台人
      item.reservePeople = '' // 预订人数
      item.consumeCode = '' // 订单编码
      item.orderBatchCode = '' // 下单号
      item.payBatchCode = '' // 买单号
      item.currentConsume = '' // 当前消费金额
      item.currentCharge = '' // 当前充值
      item.currentPeople = '' // 当前人数
      item.currentGive = '' // 当前赠送
      item.openTime = '' // 开台时间
      item.reserveTime = '' // 预订时间
      item.arriveTime = '' // 到达时间
      item.keepTime = '' // 保留时长
      item.reserveSourceType = '' // 预订来源类型
      item.reserveSourceTypeName = '' // 预订来源类型
      item.consumeSourceType = '' // 开台来源类型
      item.consumeSourceTypeName = '' // 开台来源类型
      item.sourceUser = '' // 介绍人
      item.ReserveCode = '' // 预订编码
      item.reserveMemberCode = '' // 预订的会员编码
      item.reserveMemberName = '' // 预订的会员姓名
      item.reserveMemberMobile = '' // 预订的会员电话
      item.ReserveSex = '' // 预订的会员性别
      item.consumeMemberCode = '' // 消费的会员编码
      item.consumeMemberName = '' // 消费的会员姓名
      item.consumeMemberMobile = '' // 消费的会员电话
      item.consumeState = '' // 消费状态
      item.ConsumeStateName = '' // 消费状态名称
      item.reserveRemark = '' // 预订备注
      item.consumeRemark = '' // 消费备注
      item.consumeState = '0'  // 消费状态
      item.ConsumeStateName = '空闲中'  // 消费状态名称
      break;
    
    // 开台
    case 'OpenRoom':
        item.waiterUserCode = recSource.waiterUserCode // 服务员编码
        item.waiterUserName = recSource.waiterUserName // 服务员
        item.maintainUserCode = recSource.mainTainUserCode // 订台人编码
        item.maintainUserName = recSource.mainTainUserName // 订台人
     
        item.consumeCode = recSource.consumeCode // 订单编码
        item.currentPeople = recSource.arrivedPeopleCount // 当前人数
      
        item.openTime = recSource.startTime // 开台时间
     
        item.arriveTime = recSource.startTime // 到达时间
        // item.keepTime = recSource. // 保留时长
     
        item.consumeSourceType = recSource.sourceType // 开台来源类型
        // item.consumeSourceTypeName = recSource. // 开台来源类型
        // item.sourceUser = recSource. // 介绍人
        item.consumeMemberCode = recSource.consumeInfo.memberCode // 消费的会员编码
        item.consumeMemberName = recSource.consumeInfo.memberName // 消费的会员姓名
        item.consumeMemberMobile = recSource.consumeInfo.memberMobile // 消费的会员电话
        item.consumeState = recSource.roomState // 消费状态
        item.ConsumeStateName = recSource.roomStateDesc // 消费状态名称
        item.consumeRemark = recSource.remark // 备注
    
      break;

    // 复台
    case 'ResetRoom':
        item.consumeCode = recSource.consumeCode // 订单编码
        item.orderBatchCode = recSource.orderBatchCode // 下单号
        item.payBatchCode = recSource.payBatchCode // 买单号
        item.currentConsume = recSource.payAmt // 当前消费金额
        item.currentPeople = recSource.arrivedPeopleCount // 当前人数
        item.currentGive = recSource.disAmt // 当前赠送
        item.openTime = recSource.startTime // 开台时间
        item.arriveTime = recSource.startTime // 到达时间
        item.consumeSourceType = recSource.sourceType // 开台来源类型
        // item.consumeSourceTypeName = recSource. // 开台来源类型
        // item.sourceUser = recSource. // 介绍人
        // item.consumeMemberCode = recSource. // 消费的会员编码
        item.consumeMemberName = recSource.memberName // 消费的会员姓名
        // item.consumeMemberMobile = recSource. // 消费的会员电话
        item.consumeState = recSource.roomState // 消费状态
        item.ConsumeStateName = recSource.roomStateDesc // 消费状态名称
        item.consumeRemark = recSource.remark // 消费备注
    
     
    break;

    // 预订
    case 'ReserveRoom':
        // item.waiterUserCode = recSource.roomInfo.waiterUserCode // 服务员编码
        // item.waiterUserName = recSource.roomInfo.waiterUserName // 服务员
        // item.maintainUserCode = recSource.roomInfo.maintainUserCode // 订台人编码
        // item.maintainUserName = recSource.roomInfo.maintainUserName // 订台人
        // item.reservePeople = recSource.reserveInfo.peopleNumber // 预订人数
        // item.consumeCode = '' // 订单编码
        // item.orderBatchCode = '' // 下单号
        // item.payBatchCode = '' // 买单号
        // item.currentConsume = '' // 当前消费金额
        // item.currentCharge = '' // 当前充值
        // item.currentPeople = recSource. // 当前人数
        
        // item.reserveTime = recSource.reserveInfo.reserveTime // 预订时间
        // item.keepTime = recSource.reserveInfo.keepTime // 保留时长
        // item.reserveSourceType = recSource. // 预订来源类型
        // item.reserveSourceTypeName = recSource. // 预订来源类型
        // item.consumeSourceType = recSource. // 开台来源类型
        // item.consumeSourceTypeName = recSource. // 开台来源类型
        // // item.sourceUser = recSource. // 介绍人
        // // item.ReserveCode = recSource. // 预订编码
        // item.reserveMemberCode = recSource.reserveInfo.memberCode // 预订的会员编码
        // item.reserveMemberName = recSource.reserveInfo.memberName // 预订的会员姓名
        // item.reserveMemberMobile = recSource.reserveInfo.memberMobile // 预订的会员电话
        // item.ReserveSex = recSource.reserveInfo // 预订的会员性别
      
        // item.ConsumeStateName = recSource.roomInfo.roomStateDesc // 消费状态名称
        // item.reserveRemark = recSource.reserveInfo.remark // 预订备注
          item.reserveCode = recSource.reserveInfo.itemCode
          item.reservePeople = recSource.reserveInfo.peopleNumber
          item.minConsume = recSource.roomInfo.minConsume
          item.reserveTime = recSource.reserveInfo.reserveTime
          item.keepTime = recSource.reserveInfo.reserveTime
          item.waiterUserCode = recSource.reserveInfo.waiterUserCode
          item.waiterUserName = recSource.reserveInfo.waiterUserName
          item.maintainUserCode = recSource.reserveInfo.maintainUserCode
          item.maintainUserName = recSource.reserveInfo.maintainUserName
          item.reserveMemberName = recSource.reserveInfo.memberName
          item.reserveMemberCode = recSource.reserveInfo.memberCode 
          item.reserveRemark = recSource.reserveInfo.remark 
          item.reserveSourceType = recSource.reserveInfo.sourceType // 开台来源类型
          item.reserveSourceTypeName = recSource.reserveInfo.sourceTypeName // 开台来源类型
          item.consumeState = recSource.roomInfo.roomState // 消费状态
          item.ConsumeStateName = recSource.roomInfo.roomStateDesc // 消费状态名称
          item.arriveTime = recSource.reserveInfo.reserveTime 
      break;

    // 取消预订
    case 'CancelReserveRoom':
        item.waiterUserCode = '' // 服务员编码
        item.waiterUserName = '' // 服务员
        item.maintainUserCode = '' // 订台人编码
        item.maintainUserName = '' // 订台人
        item.reservePeople = '' // 预订人数
        item.consumeCode = '' // 订单编码
        item.orderBatchCode = '' // 下单号
        item.payBatchCode = '' // 买单号
        item.currentConsume = '' // 当前消费金额
        item.currentCharge = '' // 当前充值
        item.currentPeople = '' // 当前人数
        item.currentGive = '' // 当前赠送
        item.openTime = '' // 开台时间
        item.reserveTime = '' // 预订时间
        item.arriveTime = '' // 到达时间
        item.keepTime = '' // 保留时长
        item.reserveSourceType = '' // 预订来源类型
        item.reserveSourceTypeName = '' // 预订来源类型
        item.consumeSourceType = '' // 开台来源类型
        item.consumeSourceTypeName = '' // 开台来源类型
        item.sourceUser = '' // 介绍人
        item.ReserveCode = '' // 预订编码
        item.reserveMemberCode = '' // 预订的会员编码
        item.reserveMemberName = '' // 预订的会员姓名
        item.reserveMemberMobile = '' // 预订的会员电话
        item.ReserveSex = '' // 预订的会员性别
        item.consumeMemberCode = '' // 消费的会员编码
        item.consumeMemberName = '' // 消费的会员姓名
        item.consumeMemberMobile = '' // 消费的会员电话
        item.consumeState = '' // 消费状态
        item.ConsumeStateName = '' // 消费状态名称
        item.reserveRemark = '' // 预订备注
        item.consumeRemark = '' // 消费备注
        item.consumeState = '0'  // 消费状态
        item.ConsumeStateName = '空闲中'  // 消费状态名称
    break;
  
    case 'OrderAdd':
        item.consumeCode = recSource.consumeCode // 订单编码
        item.orderBatchCode = recSource.orderBatchCode
        item.payBatchCode = recSource.payBatchCode
        item.consumeState = recSource.roomState // 消费状态
        item.ConsumeStateName = recSource.roomStateDesc // 消费状态名称
        item.currentConsume = recSource.totalAmt
    break;
 
  }
  // item.waiterUserCode  // 服务员编码
  // item.waiterUserName  // 服务员
  // item.maintainUserCode  // 订台人编码
  // item.maintainUserName  // 订台人
  // item.reservePeople  // 预订人数
  // item.consumeCode  // 订单编码
  // item.orderBatchCode  // 下单号
  // item.payBatchCode  // 买单号
  // item.currentConsume  // 当前消费金额
  // item.currentCharge  // 当前充值
  // item.currentPeople  // 当前人数
  // item.currentGive  // 当前赠送
  // item.openTime  // 开台时间
  // item.reserveTime  // 预订时间
  // item.arriveTime  // 到达时间
  // item.keepTime  // 保留时长
  // item.reserveSourceType  // 预订来源类型
  // item.reserveSourceTypeName  // 预订来源类型
  // item.consumeSourceType  // 开台来源类型
  // item.consumeSourceTypeName  // 开台来源类型
  // item.sourceUser  // 介绍人
  // item.ReserveCode  // 预订编码
  // item.reserveMemberCode  // 预订的会员编码
  // item.reserveMemberName  // 预订的会员姓名
  // item.reserveMemberMobile  // 预订的会员电话
  // item.ReserveSex  // 预订的会员性别
  // item.consumeMemberCode  // 消费的会员编码
  // item.consumeMemberName  // 消费的会员姓名
  // item.consumeMemberMobile  // 消费的会员电话
  // item.consumeState  // 消费状态
  // item.ConsumeStateName  // 消费状态名称
  // item.reserveRemark  // 预订备注
  // item.consumeRemark  // 消费备注
  // item.state  // 维修 1正常 0 维修 
  // item.isLock  // 锁台 true 锁台
}
const TurnRoom = (item,recSource,type)=>{
    if(type == 'old'){ // 旧房台
      item.waiterUserCode = '' // 服务员编码
      item.waiterUserName = '' // 服务员
      item.maintainUserCode = '' // 订台人编码
      item.maintainUserName = '' // 订台人
      item.reservePeople = '' // 预订人数
      item.consumeCode = '' // 订单编码
      item.orderBatchCode = '' // 下单号
      item.payBatchCode = '' // 买单号
      item.currentConsume = '' // 当前消费金额
      item.currentCharge = '' // 当前充值
      item.currentPeople = '' // 当前人数
      item.currentGive = '' // 当前赠送
      item.openTime = '' // 开台时间
      item.reserveTime = '' // 预订时间
      item.arriveTime = '' // 到达时间
      item.keepTime = '' // 保留时长
      item.reserveSourceType = '' // 预订来源类型
      item.reserveSourceTypeName = '' // 预订来源类型
      item.consumeSourceType = '' // 开台来源类型
      item.consumeSourceTypeName = '' // 开台来源类型
      item.sourceUser = '' // 介绍人
      item.ReserveCode = '' // 预订编码
      item.reserveMemberCode = '' // 预订的会员编码
      item.reserveMemberName = '' // 预订的会员姓名
      item.reserveMemberMobile = '' // 预订的会员电话
      item.ReserveSex = '' // 预订的会员性别
      item.consumeMemberCode = '' // 消费的会员编码
      item.consumeMemberName = '' // 消费的会员姓名
      item.consumeMemberMobile = '' // 消费的会员电话
      item.consumeState = '' // 消费状态
      item.ConsumeStateName = '' // 消费状态名称
      item.reserveRemark = '' // 预订备注
      item.consumeRemark = '' // 消费备注
      item.consumeState = '0'  // 消费状态
      item.ConsumeStateName = '空闲中'  // 消费状态名称
    }else{ // 新房台
      console.log(recSource);
        // item.waiterUserCode = recSource.waiterUserCode // 服务员编码
        // item.waiterUserName = recSource.waiterUserName // 服务员
        // item.maintainUserCode = recSource.maintainUserCode // 订台人编码
        // item.maintainUserName = recSource.maintainUserName // 订台人
        item.consumeCode = recSource.consumeCode // 订单编码
        item.orderBatchCode = recSource.orderBatchCode // 下单号
        item.payBatchCode = recSource.payBatchCode // 买单号
        item.currentConsume = recSource.payAmt // 当前消费金额
        // item.currentCharge = recSource. // 当前充值
        item.currentPeople = recSource.arrivedPeopleCount // 当前人数
        item.currentGive = recSource.disAmt // 当前赠送
        // item.openTime = recSource.startTime // 开台时间
        // item.arriveTime = recSource.startTime // 到达时间
        // item.keepTime = recSource. // 保留时长
        // item.consumeSourceType = recSource. // 开台来源类型
        // item.consumeSourceTypeName = recSource. // 开台来源类型
        // item.sourceUser = recSource. // 介绍人
        // item.consumeMemberCode = recSource. // 消费的会员编码
        item.consumeMemberName = recSource.memberName // 消费的会员姓名
        // item.consumeMemberMobile = recSource. // 消费的会员电话
        item.consumeState = recSource.roomState // 消费状态
        item.ConsumeStateName = recSource.roomStateDesc // 消费状态名称
        item.consumeRemark = recSource.remark // 消费备注
    
    }
}
const chengeGoods = async()=>{
  const configStore = useConfigStore()
  await configStore.UpdateGoods() // 更新商品信息
  configStore.isGoodChange.id++
}